package org.lld.im.common.route.algorithm.consistenthash;

import lombok.Setter;
import org.lld.im.common.route.RouteHandler;

import java.util.List;

/**
 * @author: LunBoWang
 * @description: 一致性hash
 * 一致性哈希是一种分布式系统中常用的负载均衡算法，它的原理是将服务器列表和请求数据映射到一个哈希环上，
 * 然后根据请求数据的哈希值找到最近的服务器进行请求处理。
 * 这种算法的优点是可以避免服务器列表的变化对请求的影响，从而提高系统的稳定性和性能。
 * @date: 2025/3/30 下午7:59
 * @version: 1.0
 */

@Setter
public class ConsistentHashHandle implements RouteHandler {

    private AbstractConsistentHash hash;

    @Override
    public String routeServer(List<String> values, String key) {
        return hash.process(values, key);
    }
}
